草庐IT

php - PHP函数的 undefined variable 问题

全部标签

javascript - 如何在调用之间调用函数调用私有(private)变量

这是一个直接来自教科书的简单方法,我似乎找不到。我有一个javascript函数。我希望它包含一个private变量,该变量在两次调用之间记住它的值。谁能唤起我的内存。 最佳答案 使用闭包创建它:functionf(){varx=0;returnfunction(){returnx++;};}然后按如下方式使用:>g=f()function(){returnx++}>g()0>g()1>g()2 关于javascript-如何在调用之间调用函数调用私有(private)变量,我们在Sta

Javascript onbeforeunload 问题

我对以下代码有疑问。发生的事情是当用户关闭浏览器时,它应该提示他们点击确定或点击取消离开页面。单击“确定”将触发window.location重定向到另一个页面以进行用户跟踪(是的,为了避免口水战,有一个辅助系统可以确保准确跟踪,如果用户从任务管理器中终止浏览器(如类似问题中所述))。取消将保留在页面上,问题是无论您点击哪个按钮,您都会被重定向,就好像您想离开页面一样。相关代码如下。window.onbeforeunload=confirmExit;functionconfirmExit(){varwhere_to=confirm("ClickOKtoexit,ClickCANCELt

javascript - 变量全局范围理解问题

我的问题实际上是理解问题-我有一个可行的解决方案,我只是不明白它是如何工作的。好的,所以-我正在尝试做的是在循环中添加一个setTimeout,并通过它传递一个变化的值。示例:for(i=0;i如果我理解正确的话,这是行不通的,因为Javascript不(像PHP)将i的值传递给函数,而是传递i的引用——这又不是静态的,而是随着计数器不断变化。我找到了一个解决方案,它是这样的:for(i=0;i我真的不明白这到底是做什么的。它看起来像是将“警报”函数传递回调用函数,但我无法理解这一点。我可以使用这个解决方案并使其适应其他环境,但我真的很想理解我的所有代码,而不仅仅是使用我在某处找到的东

javascript - 如果您不使用 var 声明全局变量或者它不是参数,为什么在某些情况下函数中的全局变量不会被更改?

ECMAScript对var非常简单。如果您不在函数内使用var来声明您分配给您分配给全局范围的变量。发生这种情况是因为链式作用域的工作方式。执行环境在本地范围内查找标识符,然后向上移动直到到达全局范围。如果尚未找到标识符的声明并且未将其标识为参数,则在全局范围内创建变量。例如本地作用域:varcar='Blue';functionchange_color(){varcar='Red';}change_color();console.log(car);//logs'Blue'ascarisinthelocalscopeofthefunction.当car在本地范围内找不到时:varca

javascript - 匿名函数和内存消耗

就内存消耗而言,这些是等效的还是我们为后者中的每个对象获取一个新的函数实例?varf=function(){alert(this.animal);}varitems=[];for(vari=0;i和varitems=[];for(vari=0;i编辑我在想,为了让闭包正常工作,第二个实例确实会在每次通过时创建一个新函数。这是正确的吗? 最佳答案 您应该使用第一种方法,因为每次解释器通过该行时第二种方法都会创建一个函数。关于您的编辑:我们一直在同一个作用域中,因为JavaScript具有函数作用域而不是block作用域,所以这可能是可

javascript - 命名空间是本地 JavaScript 函数所必需的吗?

我同意使用命名空间对于JavaScript库来说是必不可少的,但是那些驻留在script标记中的HTML文件中的函数呢?基本上这些是“本地”功能,从不与任何其他页面共享。你们还在为那些使用namespace吗?如果是,您是否使用与共享自定义库相同的命名空间? 最佳答案 我想说本地命名空间可以帮助防止与第3方JavaScript库发生任何可能的冲突,但这并不是必须的。 关于javascript-命名空间是本地JavaScript函数所必需的吗?,我们在StackOverflow上找到一个类

javascript - 非递归替换内置的javascript函数

我在这里写一些小书签,我有一些与内置javascript函数相关的问题。假设我想替换内置提示功能(不一定在小书签中)。这看起来很简单,但是有没有办法从这个替换中调用内置提示函数?prompt=function(message){vartmp=prompt(message);hook(tmp);returntmp;}我无法正确确定范围;这个例子产生无限递归。还有一种方法可以恢复已被替换的内置javascript函数的默认行为(无需挂起额外的引用)。 最佳答案 (function(){varold_prompt=prompt;promp

javascript - 简单的 Javascript 或 jQuery clearInterval 问题

我已经浏览了这里的大部分代码,并尝试了几种方法来使clearInterval起作用,但由于某种原因它就是不起作用,尽管这是一个基本且简单的问题。这是代码,我想知道为什么它不起作用,而不仅仅是为我完成代码。varmyTimer;functionstartTimer(){myTimer=window.setInterval(function(){$('#randomImage').fadeTo('slow',0.0).addClass("changeBg_"+current);varcurrent=Math.round(Math.random()*4)+1;$('#randomImage'

javascript - Jquery Plugins,从其他方法调用函数

就像这里的许多其他类似问题一样,我正在编写我的第一个jQuery插件。它旨在采用一个选择元素并将选项替换为可单击的列表元素,以用作样本。我的主要功能运行良好,但我需要添加调用另一种方法的能力,这将禁用某些选项。我的问题是,在执行此操作时,我需要绑定(bind)一些点击元素并取消绑定(bind)其他元素。目前我的原始绑定(bind)包含在我的“init”方法中的一个函数中。我需要能够从另一个“禁用”方法调用该函数。所以这里有一些代码:(function($){varmethods={//Initmethodinit:function(options){//Setoptionsvardef

javascript - 关于现场事件的问题

我刚刚在读http://api.jquery.com/event.stopPropagation/Sincethe.live()methodhandleseventsoncetheyhavepropagatedtothetopofthedocument,itisnotpossibletostoppropagationofliveevents我对这个说法有点困惑,有人可以用一些例子来解释一下吗? 最佳答案 Live方法将处理程序绑定(bind)到文档,并从event.target属性中识别哪个元素触发了事件。所以实际的处理程序位于顶部